jjzjj

c++ - GLUT 和 C++ 类

全部标签

c - (U) Ruby 扩展 : rb_gc_mark() and instance variables

我正在编写定义类的ruby​​扩展。如果我使用Data_Wrap_Struct()来实现我对rb_define_alloc_func()的回调,我是否需要手动标记和释放实例变量?还是仍然为我处理? 最佳答案 Ruby的GC将收集在您的Ruby对象的实例变量中引用的所有Ruby对象。您不必也不应该自己释放Ruby实例变量(即在您的扩展中使用rb_iv_set()/rb_iv_get()访问的任何对象)。但是,如果包装的Cstruct引用Ruby对象,那么您必须在传递给Data_Wrap_Struct()的mark回调中标记这些对象。(

c - 我如何在 Ruby 的 C 扩展 API 上检索 'standalone' 符号

我想从C函数返回多个值,恕我直言,散列是一个不错的选择。我首先使用rb_intern('A_KEY')创建key,但扩展崩溃了。现在,我正在使用rb_str_new2,但我更喜欢符号。如何创建一个新符号,并在不引用类或方法的情况下使用它? 最佳答案 您需要使用ID2SYM宏将从rb_intern获得的标识符转换为ruby​​符号。尝试改变rb_intern('A_KEY')到ID2SYM(rb_intern('A_KEY')) 关于c-我如何在Ruby的C扩展API上检索'standal

c - C 扩展中的 Ruby 关键字参数

如何处理来自C扩展的Ruby2.0.0关键字参数?背景defexample(name:'Bob'hat_color:'red')puts"#{name}hasa#{hat_color}hat!"endexample#=>"Bobhasaredhat!"example(name:'Joe',hat_color:'blue')#=>"Joehasabluehat!"关键字参数(如上)在处理具有许多不同调用序列或选项的方法时非常有用。我在C扩展中有一个这样的方法(一种处理我项目中大部分OpenGL绘图的blit方法),我想知道如何让该方法处理来自ruby​​的关键字参数。想法根据我所做的一些

c - Ruby C 扩展开发人员的命名约定

在用C为ruby​​编写扩展时,我对遵循正确的命名约定很感兴趣。具体来说,我指的是将_p添加到谓词的函数名称以及为变量添加前缀m代表模块,c代表类等等。例如,如果我们想在C语言中定义一个像下面这样的谓词方法,我们应该在定义该方法的函数中使用_p作为后缀。classMyClassdefawesome?trueendend在C中:staticVALUEmy_extension_my_class_awesome_p(VALUEself){returnQtrue;}voidInit_my_extension(void){VALUEcMyClass=rb_define_class("MyClas

c - 在 C 中扩展 ruby​​ - 如何指定函数的默认参数值?

我正在尝试为将生成一个类的ruby​​编写C扩展。我正在研究如何为类定义一些默认参数。例如,如果我在ruby​​中有这个类decleration:classMyClassdefinitialize(name,age=10)@name=name@age=ageendend您可以使用mc=MyClass.new("blah")初始化它,年龄参数将在内部设置。我如何在C中执行此操作?到目前为止我得到了这个,但这迫使进入另一个论点:require"ruby.h"staticVALUEmy_init(VALUEself,VALUEname,VALUEage){rb_iv_set(self,"@n

java - 表示包安装和系统依赖关系的最佳数据结构

我正在尝试根据面试过程创建一个程序(我选择Java,但可以是C/C++或GoLang)来表示/模拟Linux/Unix环境中存在的包安装和系统依赖项。基本上,我会执行以下要求:1)维护已安装包及其依赖项的记录。2)支持响应命令显式安装包(除非已经安装)。3)如果需要安装另一个包,支持隐式安装一个包。4)支持显式删除一个包以响应命令(如果不需要支持其他包)。5)如果不再需要支持另一个组件,则支持隐式删除包。在安装包之前,自动安装它需要的所有包。在删除包之前,请确认没有其他包需要它。在删除包之前,必须手动删除依赖包。我想要最好的数据结构(以及我可以检查的链接)的提示,我可以用它来做到这一点

c - gSOAP - XML 数据到 C 结构(也由 gSOAP 生成)

我有一些关于使用gSOAP的问题用于解析XML。如果有人对此有经验,请给我一些帮助。谢谢:D我以前从不知道XML,现在我需要将XML解析为C中的结构。然后我发现了一些使用gSOAP数据绑定(bind)的建议。是的!它帮助我生成一个头文件,其中包含来自XSD(XML架构)的结构。但是现在,我也不知道如何处理结构或XML文件。我需要将XML数据自动放入结构中(我的意思是,如果XSD发生变化,代码也不必更改)。关于与我的问题相关的gSOAP,有什么我不知道的吗?或者我必须自己编写代码才能输入数据?感谢您的关心和时间。干杯!----加法----这就是我所做的,我在Linux的终端中工作:我有一

c - 在不解析库的情况下用 C 解析 XML 文件

我正在尝试访问XML文件中所有“mslevel”值等于1的标签。然后,生成一个.txt文件,其中包含标签内的数据字符串,包括位,无论是还是不是数据被压缩,而是原始二进制字符串。然后它应该更进一步,对文件中的任何其他标签执行相同的操作。这是针对不允许我使用解析库的项目。我不确定如何在不使用外部库的情况下访问XML文件中的标签,然后提取标签中的数据。我了解有关如何完成任务的高级计划,但不知道我应该使用什么工具。编辑:我突然想到在第一个标checkout现之前文件中还有更多内容。创建第一个mzmlFileBuffer时,它只获取整个文件的第一行“"我不确定为什么。它不会访问整个文件中带有标签

c++ - 选项卡控件及其子窗口

我正在使用一个控制选项卡(Windows类“SysTabControl32”)来组织我正在开发的应用程序中的GUI元素。过去,我捕获了TCN_SELCHANGE事件,然后在每个GUI元素的基础上,决定什么应该可见或不可见。这对于只有几十个GUI元素的小型应用程序来说非常好,但我当前的项目更复杂。我希望有一个更简单的解决方案。我想要的是带有多个选项卡的选项卡控件。每个选项卡都有一个GUI元素“包装器”,我可以单独显示/隐藏它,并使所有相应的子元素可见/隐藏。我读过我应该使用对话框来完成我正在描述的内容,但找不到任何示例。对话是可行的方法吗?如果是这样,我在哪里可以找到一个简单的例子?如果

c - C 和 Windows GDI 中的双缓冲*框架*

背景:我的客户有一个非常广泛的专有表单库,它在C中有效地实现(实际上,它是一种专有的面向对象的语言,基本上包装Windows控件并与它们交互SendMessage()、SetStyle()等)我要解决的问题:每当我在上述框架中实现的应用程序中拖动/调整顶层窗口(或拖动拆分器)时,都会出现大量闪烁。顶层窗口被重新绘制,它包含的任何控件都会重新绘制。问题1:有没有办法通过外科手术将双缓冲引入表单库。特别是,我想知道是否可以使用标准WindowsGDI函数实现双缓冲。例如,如果我可以使顶层窗口进行双缓冲,这样顶层窗口的所有子窗口也自动进行双缓冲绘制。一个更好的选择是能够在任意窗口上引入双缓冲